import type { LocaleT } from '@/@types/type-common';

export interface SearchParamsT {
  keyword: string;
  lang: LocaleT;
  page: number;
  pageSize: number;
  type?: 'docs'; //定向搜索的数据类型，需要时才传
  filter?: { docsType: string }[]; // 过滤数据，需要时才传
  orderTime?: 'desc';
}

export interface SearchResultT {
  title: string;
  lange: LocaleT;
  path: string;
  textContent: string;
  docsType: string;
  strong: string;
  articleName: string;
  h1: string;
  h2: string;
  h3: string;
  h4: string;
  h5: string;
  type: 'website' | 'docs';
  version: string;
  versionTag: string;
  date: string;
}

export interface CountItemT {
  key: 'all' | 'docs';
  label: string;
  doc_count: number;
}

// 文档菜单配置类型
export interface DocMenuConfigT {
  id: string; // id
  label: {
    zh: string; // 中文显示文字
    en?: string; // 英文显示文字
  };
  href?: {
    zh: string; // 中文链接
    en?: string; // 英文链接
  };
  children?: Array<DocMenuConfigT>; // 子节点
}

// 文档树配置类型
export interface DocMenuT {
  id: string; // id
  label: string; // 显示文字
  href?: string; // 链接
  children?: Array<DocMenuT>; // 子节点
}

export interface FeedbackT {
  searchFlag: boolean; //是否搜到结果
  feedbackText: string; // 搜到结果时为关键词，未搜到结果时为手动输入内容
}

export interface WordSearchT {
  key: string; // 关键词
  count: number;
  str: string; // 处理之后的富文本关键词
}
